📱 Responsive Test Report

Comprehensive testing results for responsive components and mobile interactions

6
Total Test Suites
0
Passed
6
Failed
211.0s
Total Duration

Test Results

responsive-unit
Unit tests for responsive component behavior
❌ FAILED

Duration: 27.56s

Pattern: **/*.responsive.test.tsx

View Output
> portfolio@0.1.0 test > jest --testPathPatterns=**/*.responsive.test.tsx --verbose --coverage=false  Invalid testPattern **/*.responsive.test.tsx supplied. Running all tests instead.  Invalid testPattern **/*.responsive.test.tsx supplied. Running all tests instead. console.error  Warning: An update to ForwardRef(LoadableComponent) inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16158:5)  at forceStoreRerender (node_modules/react-dom/cjs/react-dom.development.js:16134:7)  at callback (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:48)  at Set.forEach ()  at LoadableSubscription.forEach (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:21)  at _update (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:218:14) console.error  Warning: An update to TurnstileWidget inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     37 |    38 | useEffect(() => {  > 39 | setMounted(true);   | ^   40 | }, []);   41 |    42 | // Development modunda localhost bypass kontrolü   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setMounted (src/components/Turnstile.tsx:39:5)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26974:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:25690:13)  at invokeTheCallbackFunction (node_modules/jsdom/lib/jsdom/living/generated/Function.js:19:26)  at node_modules/jsdom/lib/jsdom/browser/Window.js:613:9 console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  The above error occurred in the component:    at isMobileMenuOpen (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:27:25)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at allProjects (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:18:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:369:5  at div  at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at div  at div  at aboutData (/Users/bim/Desktop/portfoy1/src/components/home/HeroSection.tsx:11:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17)  PASS  src/lib/__tests__/auth-utils.test.ts Auth Utils validateCredentials ✓ should return true for valid credentials (33 ms) ✓ should return false for invalid email (2 ms) ✓ should return false for invalid password (7 ms) ✓ should return false for both invalid email and password (160 ms) ✓ should handle empty credentials (12 ms) ✓ should handle undefined credentials (2 ms) ✓ should be case sensitive for email (1 ms) ✓ should handle missing environment variables (1 ms) ✓ should trim whitespace from credentials (2 ms)  PASS  src/components/__tests__/ProjectList.test.tsx (6.648 s) ProjectList ✓ renders search input with proper responsive classes (451 ms) ✓ renders filter buttons with touch-friendly sizing (144 ms) ✓ filters projects correctly (149 ms) ✓ searches projects correctly (132 ms) ✓ shows results count when filtering or searching (214 ms) ✓ shows empty state with reset button when no results found (50 ms) ✓ has proper responsive grid spacing (12 ms)  PASS  src/components/admin/hakkimda/__tests__/SkillManager.test.tsx (6.135 s) SkillManager ✓ should render initial skills and input correctly (374 ms) ✓ should call onChange with the new skill when user clicks Add button (1047 ms) ✓ should not add a duplicate skill (253 ms) ✓ should call onChange with the updated list when a skill is removed (105 ms)  PASS  src/components/__tests__/SocialIcons.test.tsx SocialIcons ✓ should render all social media links when provided (337 ms) ✓ should open links in new tab (41 ms) ✓ should not render links for missing social media URLs (259 ms) ✓ should render nothing when no social media URLs provided (7 ms) ✓ should have proper accessibility attributes (21 ms)  FAIL  src/components/__tests__/BlogCard.test.tsx (6.309 s) BlogCard ✕ should render blog card with all information (3238 ms) ✕ should render blog tags correctly (193 ms) ✕ should render blog thumbnail with correct src (54 ms) ✕ should render link to blog post (340 ms) ✕ should format date correctly (252 ms) ✕ should handle missing thumbnail gracefully (132 ms)  ● BlogCard › should render blog card with all information ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11)  ● BlogCard › should render blog tags correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11)  ● BlogCard › should render blog thumbnail with correct src ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11)  ● BlogCard › should render link to blog post ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11)  ● BlogCard › should format date correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11)  ● BlogCard › should handle missing thumbnail gracefully ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11)  PASS  src/lib/__tests__/utils.test.ts Utils cn (className utility) ✓ should merge class names correctly (15 ms) ✓ should handle conditional classes (1 ms) ✓ should handle undefined and null values (1 ms) ✓ should handle empty strings ✓ should handle arrays of classes (1 ms) ✓ should handle object-style conditional classes ✓ should merge conflicting Tailwind classes correctly (2 ms)  PASS  src/components/admin/hakkimda/__tests__/ExperienceManager.test.tsx ExperienceManager ✓ should render initial experiences correctly (13 ms) ✓ should call onChange when a field is changed (138 ms) ✓ should add a new empty experience when "Yeni Tecrübe Ekle" is clicked (57 ms) ✓ should remove an experience when "Bu Tecrübeyi Sil" is clicked (20 ms)
visual-regression
Visual regression tests for different breakpoints
❌ FAILED

Duration: 30.40s

Pattern: **/visual/*.test.tsx

View Output
> portfolio@0.1.0 test > jest --testPathPatterns=**/visual/*.test.tsx --verbose --coverage=false  Invalid testPattern **/visual/*.test.tsx supplied. Running all tests instead.  Invalid testPattern **/visual/*.test.tsx supplied. Running all tests instead. console.error  Warning: An update to ForwardRef(LoadableComponent) inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16158:5)  at forceStoreRerender (node_modules/react-dom/cjs/react-dom.development.js:16134:7)  at callback (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:48)  at Set.forEach ()  at LoadableSubscription.forEach (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:21)  at _update (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:218:14) console.error  Warning: An update to TurnstileWidget inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     37 |    38 | useEffect(() => {  > 39 | setMounted(true);   | ^   40 | }, []);   41 |    42 | // Development modunda localhost bypass kontrolü   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setMounted (src/components/Turnstile.tsx:39:5)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26974:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:25690:13)  at invokeTheCallbackFunction (node_modules/jsdom/lib/jsdom/living/generated/Function.js:19:26)  at node_modules/jsdom/lib/jsdom/browser/Window.js:613:9 console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at isMobileMenuOpen (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:27:25)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:369:5  at div  at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at div  at div  at aboutData (/Users/bim/Desktop/portfoy1/src/components/home/HeroSection.tsx:11:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  The above error occurred in the component:    at allProjects (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:18:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17)  PASS  src/lib/__tests__/auth-utils.test.ts Auth Utils validateCredentials ✓ should return true for valid credentials (12 ms) ✓ should return false for invalid email (3 ms) ✓ should return false for invalid password (4 ms) ✓ should return false for both invalid email and password (83 ms) ✓ should handle empty credentials (3 ms) ✓ should handle undefined credentials (2 ms) ✓ should be case sensitive for email (1 ms) ✓ should handle missing environment variables (1 ms) ✓ should trim whitespace from credentials (6 ms)  PASS  src/components/__tests__/ProjectList.test.tsx (6.724 s) ProjectList ✓ renders search input with proper responsive classes (349 ms) ✓ renders filter buttons with touch-friendly sizing (177 ms) ✓ filters projects correctly (124 ms) ✓ searches projects correctly (165 ms) ✓ shows results count when filtering or searching (77 ms) ✓ shows empty state with reset button when no results found (134 ms) ✓ has proper responsive grid spacing (69 ms)  PASS  src/components/admin/hakkimda/__tests__/SkillManager.test.tsx (6.579 s) SkillManager ✓ should render initial skills and input correctly (474 ms) ✓ should call onChange with the new skill when user clicks Add button (1057 ms) ✓ should not add a duplicate skill (267 ms) ✓ should call onChange with the updated list when a skill is removed (91 ms)  FAIL  src/components/__tests__/BlogCard.test.tsx (7.214 s) BlogCard ✕ should render blog card with all information (3847 ms) ✕ should render blog tags correctly (125 ms) ✕ should render blog thumbnail with correct src (252 ms) ✕ should render link to blog post (205 ms) ✕ should format date correctly (296 ms) ✕ should handle missing thumbnail gracefully (475 ms)  ● BlogCard › should render blog card with all information ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11)  ● BlogCard › should render blog tags correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11)  ● BlogCard › should render blog thumbnail with correct src ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11)  ● BlogCard › should render link to blog post ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11)  ● BlogCard › should format date correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11)  ● BlogCard › should handle missing thumbnail gracefully ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11)  PASS  src/components/__tests__/SocialIcons.test.tsx SocialIcons ✓ should render all social media links when provided (300 ms) ✓ should open links in new tab (346 ms) ✓ should not render links for missing social media URLs (15 ms) ✓ should render nothing when no social media URLs provided (2 ms) ✓ should have proper accessibility attributes (172 ms)  PASS  src/lib/__tests__/utils.test.ts Utils cn (className utility) ✓ should merge class names correctly (11 ms) ✓ should handle conditional classes (36 ms) ✓ should handle undefined and null values (2 ms) ✓ should handle empty strings ✓ should handle arrays of classes (1 ms) ✓ should handle object-style conditional classes (1 ms) ✓ should merge conflicting Tailwind classes correctly (1 ms)  PASS  src/components/admin/hakkimda/__tests__/ExperienceManager.test.tsx ExperienceManager ✓ should render initial experiences correctly (188 ms) ✓ should call onChange when a field is changed (13 ms) ✓ should add a new empty experience when "Yeni Tecrübe Ekle" is clicked (147 ms) ✓ should remove an experience when "Bu Tecrübeyi Sil" is clicked (69 ms)
accessibility-mobile
Accessibility tests for mobile navigation
❌ FAILED

Duration: 30.74s

Pattern: **/accessibility/*.test.tsx

View Output
> portfolio@0.1.0 test > jest --testPathPatterns=**/accessibility/*.test.tsx --verbose --coverage=false  Invalid testPattern **/accessibility/*.test.tsx supplied. Running all tests instead.  Invalid testPattern **/accessibility/*.test.tsx supplied. Running all tests instead. console.error  Warning: An update to ForwardRef(LoadableComponent) inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16158:5)  at forceStoreRerender (node_modules/react-dom/cjs/react-dom.development.js:16134:7)  at callback (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:48)  at Set.forEach ()  at LoadableSubscription.forEach (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:21)  at _update (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:218:14) console.error  Warning: An update to TurnstileWidget inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     37 |    38 | useEffect(() => {  > 39 | setMounted(true);   | ^   40 | }, []);   41 |    42 | // Development modunda localhost bypass kontrolü   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setMounted (src/components/Turnstile.tsx:39:5)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26974:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:25690:13)  at invokeTheCallbackFunction (node_modules/jsdom/lib/jsdom/living/generated/Function.js:19:26)  at node_modules/jsdom/lib/jsdom/browser/Window.js:613:9 console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  The above error occurred in the component:    at isMobileMenuOpen (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:27:25)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  The above error occurred in the component:    at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:369:5  at div  at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at div  at div  at aboutData (/Users/bim/Desktop/portfoy1/src/components/home/HeroSection.tsx:11:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at allProjects (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:18:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11)  PASS  src/lib/__tests__/auth-utils.test.ts Auth Utils validateCredentials ✓ should return true for valid credentials (154 ms) ✓ should return false for invalid email (2 ms) ✓ should return false for invalid password (30 ms) ✓ should return false for both invalid email and password (9 ms) ✓ should handle empty credentials (2 ms) ✓ should handle undefined credentials (1 ms) ✓ should be case sensitive for email (4 ms) ✓ should handle missing environment variables (10 ms) ✓ should trim whitespace from credentials (5 ms)  PASS  src/components/__tests__/ProjectList.test.tsx (6.707 s) ProjectList ✓ renders search input with proper responsive classes (477 ms) ✓ renders filter buttons with touch-friendly sizing (38 ms) ✓ filters projects correctly (214 ms) ✓ searches projects correctly (37 ms) ✓ shows results count when filtering or searching (8 ms) ✓ shows empty state with reset button when no results found (222 ms) ✓ has proper responsive grid spacing (13 ms)  PASS  src/components/admin/hakkimda/__tests__/SkillManager.test.tsx (6.645 s) SkillManager ✓ should render initial skills and input correctly (640 ms) ✓ should call onChange with the new skill when user clicks Add button (1032 ms) ✓ should not add a duplicate skill (227 ms) ✓ should call onChange with the updated list when a skill is removed (128 ms)  FAIL  src/components/__tests__/BlogCard.test.tsx (7.018 s) BlogCard ✕ should render blog card with all information (3883 ms) ✕ should render blog tags correctly (336 ms) ✕ should render blog thumbnail with correct src (213 ms) ✕ should render link to blog post (158 ms) ✕ should format date correctly (227 ms) ✕ should handle missing thumbnail gracefully (103 ms)  ● BlogCard › should render blog card with all information ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11)  ● BlogCard › should render blog tags correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11)  ● BlogCard › should render blog thumbnail with correct src ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11)  ● BlogCard › should render link to blog post ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11)  ● BlogCard › should format date correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11)  ● BlogCard › should handle missing thumbnail gracefully ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11)  PASS  src/components/__tests__/SocialIcons.test.tsx SocialIcons ✓ should render all social media links when provided (567 ms) ✓ should open links in new tab (132 ms) ✓ should not render links for missing social media URLs (18 ms) ✓ should render nothing when no social media URLs provided (6 ms) ✓ should have proper accessibility attributes (12 ms)  PASS  src/lib/__tests__/utils.test.ts Utils cn (className utility) ✓ should merge class names correctly (11 ms) ✓ should handle conditional classes (1 ms) ✓ should handle undefined and null values ✓ should handle empty strings ✓ should handle arrays of classes (2 ms) ✓ should handle object-style conditional classes (1 ms) ✓ should merge conflicting Tailwind classes correctly (2 ms)
touch-interaction
Touch interaction functionality tests
❌ FAILED

Duration: 38.23s

Pattern: **/*touch*.test.tsx

View Output
> portfolio@0.1.0 test > jest --testPathPatterns=**/*touch*.test.tsx --verbose --coverage=false  Invalid testPattern **/*touch*.test.tsx supplied. Running all tests instead.  Invalid testPattern **/*touch*.test.tsx supplied. Running all tests instead. console.error  Warning: An update to ForwardRef(LoadableComponent) inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16158:5)  at forceStoreRerender (node_modules/react-dom/cjs/react-dom.development.js:16134:7)  at callback (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:48)  at Set.forEach ()  at LoadableSubscription.forEach (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:21)  at _update (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:218:14) console.error  Warning: An update to TurnstileWidget inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     37 |    38 | useEffect(() => {  > 39 | setMounted(true);   | ^   40 | }, []);   41 |    42 | // Development modunda localhost bypass kontrolü   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setMounted (src/components/Turnstile.tsx:39:5)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26974:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:25690:13)  at invokeTheCallbackFunction (node_modules/jsdom/lib/jsdom/living/generated/Function.js:19:26)  at node_modules/jsdom/lib/jsdom/browser/Window.js:613:9 console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  The above error occurred in the component:    at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:369:5  at div  at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at div  at div  at aboutData (/Users/bim/Desktop/portfoy1/src/components/home/HeroSection.tsx:11:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at isMobileMenuOpen (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:27:25)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at allProjects (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:18:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11)  PASS  src/lib/__tests__/auth-utils.test.ts (5.852 s) Auth Utils validateCredentials ✓ should return true for valid credentials (14 ms) ✓ should return false for invalid email (202 ms) ✓ should return false for invalid password (2 ms) ✓ should return false for both invalid email and password (2 ms) ✓ should handle empty credentials (2 ms) ✓ should handle undefined credentials (1 ms) ✓ should be case sensitive for email (28 ms) ✓ should handle missing environment variables (6 ms) ✓ should trim whitespace from credentials (3 ms)  PASS  src/components/__tests__/ProjectList.test.tsx (8.625 s) ProjectList ✓ renders search input with proper responsive classes (510 ms) ✓ renders filter buttons with touch-friendly sizing (244 ms) ✓ filters projects correctly (178 ms) ✓ searches projects correctly (131 ms) ✓ shows results count when filtering or searching (120 ms) ✓ shows empty state with reset button when no results found (167 ms) ✓ has proper responsive grid spacing (77 ms)  PASS  src/components/admin/hakkimda/__tests__/SkillManager.test.tsx (8.433 s) SkillManager ✓ should render initial skills and input correctly (743 ms) ✓ should call onChange with the new skill when user clicks Add button (1187 ms) ✓ should not add a duplicate skill (460 ms) ✓ should call onChange with the updated list when a skill is removed (232 ms)  PASS  src/components/__tests__/SocialIcons.test.tsx SocialIcons ✓ should render all social media links when provided (615 ms) ✓ should open links in new tab (166 ms) ✓ should not render links for missing social media URLs (10 ms) ✓ should render nothing when no social media URLs provided (5 ms) ✓ should have proper accessibility attributes (182 ms)  FAIL  src/components/__tests__/BlogCard.test.tsx (9.215 s) BlogCard ✕ should render blog card with all information (4996 ms) ✕ should render blog tags correctly (265 ms) ✕ should render blog thumbnail with correct src (198 ms) ✕ should render link to blog post (259 ms) ✕ should format date correctly (397 ms) ✕ should handle missing thumbnail gracefully (244 ms)  ● BlogCard › should render blog card with all information ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11)  ● BlogCard › should render blog tags correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11)  ● BlogCard › should render blog thumbnail with correct src ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11)  ● BlogCard › should render link to blog post ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11)  ● BlogCard › should format date correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11)  ● BlogCard › should handle missing thumbnail gracefully ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11)  PASS  src/components/admin/hakkimda/__tests__/ExperienceManager.test.tsx ExperienceManager ✓ should render initial experiences correctly (24 ms) ✓ should call onChange when a field is changed (256 ms) ✓ should add a new empty experience when "Yeni Tecrübe Ekle" is clicked (133 ms) ✓ should remove an experience when "Bu Tecrübeyi Sil" is clicked (99 ms)
cross-browser
Cross-browser responsive behavior tests
❌ FAILED

Duration: 40.08s

Pattern: **/cross-browser/*.test.tsx

View Output
> portfolio@0.1.0 test > jest --testPathPatterns=**/cross-browser/*.test.tsx --verbose --coverage=false  Invalid testPattern **/cross-browser/*.test.tsx supplied. Running all tests instead.  Invalid testPattern **/cross-browser/*.test.tsx supplied. Running all tests instead. console.error  Warning: An update to ForwardRef(LoadableComponent) inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16158:5)  at forceStoreRerender (node_modules/react-dom/cjs/react-dom.development.js:16134:7)  at callback (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:48)  at Set.forEach ()  at LoadableSubscription.forEach (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:21)  at _update (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:218:14) console.error  Warning: An update to TurnstileWidget inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     37 |    38 | useEffect(() => {  > 39 | setMounted(true);   | ^   40 | }, []);   41 |    42 | // Development modunda localhost bypass kontrolü   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setMounted (src/components/Turnstile.tsx:39:5)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26974:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:25690:13)  at invokeTheCallbackFunction (node_modules/jsdom/lib/jsdom/living/generated/Function.js:19:26)  at node_modules/jsdom/lib/jsdom/browser/Window.js:613:9 console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:369:5  at div  at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at div  at div  at aboutData (/Users/bim/Desktop/portfoy1/src/components/home/HeroSection.tsx:11:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:369:5  at div  at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at div  at div  at aboutData (/Users/bim/Desktop/portfoy1/src/components/home/HeroSection.tsx:11:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  The above error occurred in the component:    at isMobileMenuOpen (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:27:25)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at allProjects (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:18:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13)  PASS  src/lib/__tests__/auth-utils.test.ts (6.79 s) Auth Utils validateCredentials ✓ should return true for valid credentials (260 ms) ✓ should return false for invalid email (6 ms) ✓ should return false for invalid password (2 ms) ✓ should return false for both invalid email and password (1 ms) ✓ should handle empty credentials (2 ms) ✓ should handle undefined credentials (9 ms) ✓ should be case sensitive for email (1 ms) ✓ should handle missing environment variables (3 ms) ✓ should trim whitespace from credentials (67 ms)  PASS  src/components/__tests__/ProjectList.test.tsx (9.434 s) ProjectList ✓ renders search input with proper responsive classes (552 ms) ✓ renders filter buttons with touch-friendly sizing (145 ms) ✓ filters projects correctly (124 ms) ✓ searches projects correctly (54 ms) ✓ shows results count when filtering or searching (266 ms) ✓ shows empty state with reset button when no results found (94 ms) ✓ has proper responsive grid spacing (100 ms)  PASS  src/components/admin/hakkimda/__tests__/SkillManager.test.tsx (9.004 s) SkillManager ✓ should render initial skills and input correctly (620 ms) ✓ should call onChange with the new skill when user clicks Add button (1573 ms) ✓ should not add a duplicate skill (338 ms) ✓ should call onChange with the updated list when a skill is removed (184 ms)  FAIL  src/components/__tests__/BlogCard.test.tsx (8.447 s) BlogCard ✕ should render blog card with all information (4553 ms) ✕ should render blog tags correctly (28 ms) ✕ should render blog thumbnail with correct src (445 ms) ✕ should render link to blog post (237 ms) ✕ should format date correctly (181 ms) ✕ should handle missing thumbnail gracefully (233 ms)  ● BlogCard › should render blog card with all information ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11)  ● BlogCard › should render blog tags correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11)  ● BlogCard › should render blog thumbnail with correct src ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11)  ● BlogCard › should render link to blog post ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11)  ● BlogCard › should format date correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11)  ● BlogCard › should handle missing thumbnail gracefully ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11)  PASS  src/components/__tests__/SocialIcons.test.tsx SocialIcons ✓ should render all social media links when provided (693 ms) ✓ should open links in new tab (40 ms) ✓ should not render links for missing social media URLs (239 ms) ✓ should render nothing when no social media URLs provided (5 ms) ✓ should have proper accessibility attributes (172 ms)  PASS  src/lib/__tests__/utils.test.ts Utils cn (className utility) ✓ should merge class names correctly (7 ms) ✓ should handle conditional classes (1 ms) ✓ should handle undefined and null values (1 ms) ✓ should handle empty strings ✓ should handle arrays of classes (1 ms) ✓ should handle object-style conditional classes (1 ms) ✓ should merge conflicting Tailwind classes correctly (1 ms)  PASS  src/components/admin/hakkimda/__tests__/ExperienceManager.test.tsx ExperienceManager ✓ should render initial experiences correctly (272 ms) ✓ should call onChange when a field is changed (76 ms) ✓ should add a new empty experience when "Yeni Tecrübe Ekle" is clicked (124 ms) ✓ should remove an experience when "Bu Tecrübeyi Sil" is clicked (86 ms)
mobile-performance
Mobile device performance optimization tests
❌ FAILED

Duration: 43.98s

Pattern: **/performance/mobile-performance.test.tsx

View Output
> portfolio@0.1.0 test > jest --testPathPatterns=**/performance/mobile-performance.test.tsx --verbose --coverage=false  Invalid testPattern **/performance/mobile-performance.test.tsx supplied. Running all tests instead.  Invalid testPattern **/performance/mobile-performance.test.tsx supplied. Running all tests instead. console.error  Warning: An update to ForwardRef(LoadableComponent) inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16158:5)  at forceStoreRerender (node_modules/react-dom/cjs/react-dom.development.js:16134:7)  at callback (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:48)  at Set.forEach ()  at LoadableSubscription.forEach (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:236:21)  at _update (node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:218:14) console.error  Warning: An update to TurnstileWidget inside a test was not wrapped in act(...).    When testing, code that causes React state updates should be wrapped into act(...):    act(() => {  /* fire events that update state */  });  /* assert on the output */    This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     37 |    38 | useEffect(() => {  > 39 | setMounted(true);   | ^   40 | }, []);   41 |    42 | // Development modunda localhost bypass kontrolü   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27628:9)  at warnIfUpdatesNotWrappedWithActDEV (node_modules/react-dom/cjs/react-dom.development.js:25547:5)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setMounted (src/components/Turnstile.tsx:39:5)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26974:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:25690:13)  at invokeTheCallbackFunction (node_modules/jsdom/lib/jsdom/living/generated/Function.js:19:26)  at node_modules/jsdom/lib/jsdom/browser/Window.js:613:9 console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:41:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     39 |   40 | it('should render blog card with all information', () => {  > 41 | render(<BlogCard blog={mockBlog} />);   | ^   42 |   43 | expect(screen.getByText('Test Blog Yazısı')).toBeInTheDocument();   44 | expect(screen.getByText('Bu bir test blog yazısının açıklamasıdır.')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:50:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     48 |   49 | it('should render blog tags correctly', () => {  > 50 | render(<BlogCard blog={mockBlog} />);   | ^   51 |   52 | expect(screen.getByText('React')).toBeInTheDocument();   53 | expect(screen.getByText('Next.js')).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:58:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     56 |   57 | it('should render blog thumbnail with correct src', () => {  > 58 | render(<BlogCard blog={mockBlog} />);   | ^   59 |   60 | const thumbnail = screen.getByRole('img');   61 | expect(thumbnail).toHaveAttribute('src', '/api/static/images/blog-thumbnail.jpg');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:65:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     63 |   64 | it('should render link to blog post', () => {  > 65 | render(<BlogCard blog={mockBlog} />);   | ^   66 |   67 | const link = screen.getByRole('link');   68 | expect(link).toHaveAttribute('href', '/blog/test-blog-post');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:88:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:72:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     70 |   71 | it('should format date correctly', () => {  > 72 | render(<BlogCard blog={mockBlog} />);   | ^   73 |   74 | // Tarih formatının doğru olduğunu kontrol et   75 | expect(screen.getByText(/15 Ocak 2024|15 Jan 2024|2024/)).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [ReferenceError: IntersectionObserver is not defined]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: ReferenceError: IntersectionObserver is not defined  at IntersectionObserver (/Users/bim/Desktop/portfoy1/src/hooks/useLazyLoading.ts:46:31)  at create (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:80:11)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:22877:5)  at reportUncaughtErrorInDEV (node_modules/react-dom/cjs/react-dom.development.js:27165:5)  at captureCommitPhaseError (node_modules/react-dom/cjs/react-dom.development.js:24932:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at a  at children (/Users/bim/Desktop/portfoy1/src/components/__tests__/BlogCard.test.tsx:21:15)  at article  at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     78 | it('should handle missing thumbnail gracefully', () => {   79 | const blogWithoutThumbnail = { ...mockBlog, thumbnail: undefined };  > 80 | render(<BlogCard blog={{...blogWithoutThumbnail, thumbnail: null}} />);   | ^   81 |   82 | // Placeholder görsel olmalı   83 | const thumbnail = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:26156:3)  at callback (node_modules/react-dom/cjs/react-dom.development.js:12042:22)  at flushSyncCallbacks (node_modules/react-dom/cjs/react-dom.development.js:27099:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)  at div    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     86 | const startTime = performance.now();   87 |   > 88 | render(   | ^   89 | <div>   90 | {mockProjects.map(project => (   91 | <ProjectCard key={project.id} project={project} />   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:88:13) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of null (reading 'startsWith')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of null (reading 'startsWith')  at startsWith (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:179:28)  at Array.find ()  at find (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:176:23)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:109:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  The above error occurred in the component:    at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:369:5  at div  at src (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:27:3)  at div  at div  at div  at aboutData (/Users/bim/Desktop/portfoy1/src/components/home/HeroSection.tsx:11:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at isMobileMenuOpen (/Users/bim/Desktop/portfoy1/src/components/admin/AdminSidebar.tsx:27:25)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | const startTime = performance.now();   108 |   > 109 | render(<AdminSidebar />);   | ^   110 |    111 | const endTime = performance.now();   112 | const renderTime = endTime - startTime;   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:109:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: Cannot read properties of undefined (reading 'filter')]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: Cannot read properties of undefined (reading 'filter')  at filter (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:30:8)  at nextCreate (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16406:19)  at Object.mountMemo [as useMemo] (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:16851:16)  at useMemo (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:1650:21)  at ProjectList (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:26:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:154:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  The above error occurred in the component:    at allProjects (/Users/bim/Desktop/portfoy1/src/components/ProjectList.tsx:18:39)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     152 | }));   153 |  > 154 | render(<ProjectList projects={mockProjects} />);   | ^   155 |    156 | // Should handle large lists efficiently on low-memory devices   157 | const list = screen.getByRole('main') || screen.getByTestId('project-list');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:154:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:175:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     173 | };   174 |  > 175 | render(<ProjectCard project={mockProject} />);   | ^   176 |    177 | const image = screen.getByRole('img');   178 |    at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:175:13) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:109:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     107 | };   108 |  > 109 | render(<ProjectCard project={mockProject} />);   | ^   110 |    111 | const card = screen.getByRole('article');   112 | const image = screen.getByRole('img');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:109:17) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: project.technologies?.split is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: project.technologies?.split is not a function  at split (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:40:34)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/performance/mobile-performance.test.tsx:206:13)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Uncaught [TypeError: blog.tags.trim is not a function]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: TypeError: blog.tags.trim is not a function  at trim (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:64:35)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:144:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25889:20)  at recoverFromConcurrentError (node_modules/react-dom/cjs/react-dom.development.js:25789:22)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  The above error occurred in the component:    at project (/Users/bim/Desktop/portfoy1/src/components/ProjectCard.tsx:10:24)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     204 | };   205 |  > 206 | render(<ProjectCard project={mockProject} />);   | ^   207 |    208 | const card = screen.getByRole('article');   209 | expect(card).toBeInTheDocument();   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/performance/mobile-performance.test.tsx:206:13) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  The above error occurred in the component:    at blog (/Users/bim/Desktop/portfoy1/src/components/BlogCard.tsx:10:21)    Consider adding an error boundary to your tree to customize error handling behavior.  Visit https://reactjs.org/link/error-boundaries to learn more about error boundaries.     142 | };   143 |  > 144 | render(<BlogCard blog={mockBlog} />);   | ^   145 |    146 | const card = screen.getByRole('article');   147 | const title = screen.getByRole('heading');   at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18704:23)  at logCapturedError (node_modules/react-dom/cjs/react-dom.development.js:18737:5)  at call (node_modules/react-dom/cjs/react-dom.development.js:15036:12)  at callCallback (node_modules/react-dom/cjs/react-dom.development.js:15057:9)  at commitUpdateQueue (node_modules/react-dom/cjs/react-dom.development.js:23430:13)  at commitLayoutEffectOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24727:9)  at commitLayoutMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24713:7)  at commitLayoutEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24651:3)  at commitLayoutEffects (node_modules/react-dom/cjs/react-dom.development.js:26862:5)  at commitRootImpl (node_modules/react-dom/cjs/react-dom.development.js:26721:5)  at commitRoot (node_modules/react-dom/cjs/react-dom.development.js:25931:9)  at finishConcurrentRender (node_modules/react-dom/cjs/react-dom.development.js:25848:7)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:144:17) console.error  Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render.  at sitekey (/Users/bim/Desktop/portfoy1/src/components/Turnstile.tsx:32:28)  at useLoadableModule (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/loadable.shared-runtime.tsx:124:5)     121 | }   122 | widgetId.current = null;  > 123 | setIsRendered(false);   | ^   124 | }   125 | };   126 | }, [mounted, shouldBypass, isRendered, sitekey, handleVerify, handleExpire, handleError, props.theme]);   at call (node_modules/react-dom/cjs/react-dom.development.js:86:30)  at printWarning (node_modules/react-dom/cjs/react-dom.development.js:60:7)  at error (node_modules/react-dom/cjs/react-dom.development.js:27339:7)  at checkForNestedUpdates (node_modules/react-dom/cjs/react-dom.development.js:25514:3)  at scheduleUpdateOnFiber (node_modules/react-dom/cjs/react-dom.development.js:16708:7)  at setIsRendered (src/components/Turnstile.tsx:123:9)  at destroy (node_modules/react-dom/cjs/react-dom.development.js:22971:5)  at safelyCallDestroy (node_modules/react-dom/cjs/react-dom.development.js:23139:11)  at commitHookEffectListUnmount (node_modules/react-dom/cjs/react-dom.development.js:25073:11)  at commitPassiveUnmountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:25046:7)  at commitPassiveUnmountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:25035:7)  at commitPassiveUnmountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24980:3)  at commitPassiveUnmountEffects (node_modules/react-dom/cjs/react-dom.development.js:27077:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/Turnstile.test.tsx:42:11) console.error  Error: Not implemented: HTMLCanvasElement.prototype.getContext (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     66 | canvas.width = w;   67 | canvas.height = h;  > 68 | const ctx = canvas.getContext('2d');   | ^   69 | if (ctx) {   70 | ctx.fillStyle = '#f3f4f6';   71 | ctx.fillRect(0, 0, w, h);   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.getContext (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:42:5)  at HTMLCanvasElement.getContext (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:131:58)  at getContext (src/components/ui/OptimizedImage.tsx:68:24)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Not implemented: HTMLCanvasElement.prototype.toDataURL (without installing the canvas npm package)  at module.exports (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)  at HTMLCanvasElementImpl.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (/Users/bim/Desktop/portfoy1/src/components/ui/OptimizedImage.tsx:145:70)  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  type: 'not implemented'  }     71 | ctx.fillRect(0, 0, w, h);   72 | }  > 73 | return canvas.toDataURL();   | ^   74 | };   75 |   76 | const handleLoad = () => {   at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)  at HTMLCanvasElementImpl.toDataURL (node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js:55:5)  at HTMLCanvasElement.toDataURL (node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js:162:34)  at toDataURL (src/components/ui/OptimizedImage.tsx:73:19)  at generateBlurDataURL (src/components/ui/OptimizedImage.tsx:145:70)  at Component (node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (node_modules/react-dom/cjs/react-dom.development.js:20103:13)  at mountIndeterminateComponent (node_modules/react-dom/cjs/react-dom.development.js:21626:16)  at beginWork (node_modules/react-dom/cjs/react-dom.development.js:27465:14)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17) console.error  Error: Uncaught [Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.]  at reportException (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:66:24)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12) {  detail: Error: Image with src "/test-profile.jpg" has both "priority" and "loading='lazy'" properties. Only one should be used.  at getImgProps (/Users/bim/Desktop/portfoy1/node_modules/next/src/shared/lib/get-img-props.ts:480:13)  at /Users/bim/Desktop/portfoy1/node_modules/next/src/client/image-component.tsx:398:20  at Component (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:15486:18)  at renderWithHooks (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:19245:20)  at updateForwardRef (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:21675:16)  at HTMLUnknownElement.apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4164:14)  at HTMLUnknownElement.callTheUserObjectsOperation (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js:26:30)  at innerInvokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:350:25)  at invokeEventListeners (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (/Users/bim/Desktop/portfoy1/node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (/Users/bim/Desktop/portfoy1/node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (/Users/bim/Desktop/portfoy1/node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (/Users/bim/Desktop/portfoy1/src/__tests__/visual/visual-regression.test.tsx:176:17)  at Promise.finally.completed (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1559:28)  at new Promise ()  at callAsyncCircusFn (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1499:10)  at _callCircusTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1009:40)  at processTicksAndRejections (node:internal/process/task_queues:105:5)  at _runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:949:3)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:839:13)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at _runTestsForDescribeBlock (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:829:11)  at run (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:757:3)  at runAndTransformResultsToJestFormat (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/jestAdapterInit.js:1920:21)  at jestAdapter (/Users/bim/Desktop/portfoy1/node_modules/jest-circus/build/runner.js:89:33)  at runTestInternal (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:272:16)  at runTest (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:340:7)  at Object.worker (/Users/bim/Desktop/portfoy1/node_modules/jest-runner/build/testWorker.js:494:12),  type: 'unhandled exception'  }     174 | };   175 |  > 176 | render(<HeroSection aboutData={mockAboutData} />);   | ^   177 |    178 | const heroSection = screen.getByRole('main') || screen.getByText(mockAboutData.name).closest('section');   179 |    at VirtualConsole. (node_modules/@jest/environment-jsdom-abstract/build/index.js:62:37)  at reportException (node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js:70:28)  at innerInvokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:353:9)  at invokeEventListeners (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:286:3)  at HTMLUnknownElementImpl._dispatch (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:233:9)  at HTMLUnknownElementImpl.dispatchEvent (node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js:104:17)  at HTMLUnknownElement.dispatchEvent (node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js:241:34)  at Object.dispatchEvent (node_modules/react-dom/cjs/react-dom.development.js:4213:16)  at apply (node_modules/react-dom/cjs/react-dom.development.js:4277:31)  at invokeGuardedCallback (node_modules/react-dom/cjs/react-dom.development.js:27490:7)  at beginWork$1 (node_modules/react-dom/cjs/react-dom.development.js:26599:12)  at performUnitOfWork (node_modules/react-dom/cjs/react-dom.development.js:26505:5)  at workLoopSync (node_modules/react-dom/cjs/react-dom.development.js:26473:7)  at renderRootSync (node_modules/react-dom/cjs/react-dom.development.js:25777:74)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/__tests__/visual/visual-regression.test.tsx:176:17)  PASS  src/lib/__tests__/auth-utils.test.ts (7.094 s) Auth Utils validateCredentials ✓ should return true for valid credentials (132 ms) ✓ should return false for invalid email (33 ms) ✓ should return false for invalid password (5 ms) ✓ should return false for both invalid email and password (11 ms) ✓ should handle empty credentials (3 ms) ✓ should handle undefined credentials (8 ms) ✓ should be case sensitive for email (4 ms) ✓ should handle missing environment variables (2 ms) ✓ should trim whitespace from credentials (1 ms)  PASS  src/components/__tests__/ProjectList.test.tsx (10.495 s) ProjectList ✓ renders search input with proper responsive classes (824 ms) ✓ renders filter buttons with touch-friendly sizing (219 ms) ✓ filters projects correctly (334 ms) ✓ searches projects correctly (189 ms) ✓ shows results count when filtering or searching (148 ms) ✓ shows empty state with reset button when no results found (259 ms) ✓ has proper responsive grid spacing (28 ms)  PASS  src/components/admin/hakkimda/__tests__/SkillManager.test.tsx (10.419 s) SkillManager ✓ should render initial skills and input correctly (1071 ms) ✓ should call onChange with the new skill when user clicks Add button (1521 ms) ✓ should not add a duplicate skill (579 ms) ✓ should call onChange with the updated list when a skill is removed (80 ms)  FAIL  src/components/__tests__/BlogCard.test.tsx (10.519 s) BlogCard ✕ should render blog card with all information (5407 ms) ✕ should render blog tags correctly (309 ms) ✕ should render blog thumbnail with correct src (230 ms) ✕ should render link to blog post (325 ms) ✕ should format date correctly (359 ms) ✕ should handle missing thumbnail gracefully (113 ms)  ● BlogCard › should render blog card with all information ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:41:11)  ● BlogCard › should render blog tags correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:50:11)  ● BlogCard › should render blog thumbnail with correct src ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:58:11)  ● BlogCard › should render link to blog post ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:65:11)  ● BlogCard › should format date correctly ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:72:11)  ● BlogCard › should handle missing thumbnail gracefully ReferenceError: IntersectionObserver is not defined     44 |   45 | // Create intersection observer  > 46 | observerRef.current = new IntersectionObserver(   | ^   47 | (entries) => {   48 | entries.forEach((entry) => {   49 | const isCurrentlyIntersecting = entry.isIntersecting;   at IntersectionObserver (src/hooks/useLazyLoading.ts:46:31)  at create (node_modules/react-dom/cjs/react-dom.development.js:23189:26)  at commitHookEffectListMount (node_modules/react-dom/cjs/react-dom.development.js:24970:11)  at commitPassiveMountOnFiber (node_modules/react-dom/cjs/react-dom.development.js:24930:9)  at commitPassiveMountEffects_complete (node_modules/react-dom/cjs/react-dom.development.js:24917:7)  at commitPassiveMountEffects_begin (node_modules/react-dom/cjs/react-dom.development.js:24905:3)  at commitPassiveMountEffects (node_modules/react-dom/cjs/react-dom.development.js:27078:3)  at flushPassiveEffectsImpl (node_modules/react-dom/cjs/react-dom.development.js:27023:14)  at flushPassiveEffects (node_modules/react-dom/cjs/react-dom.development.js:26808:9)  at callback (node_modules/react/cjs/react.development.js:2667:24)  at flushActQueue (node_modules/react/cjs/react.development.js:2582:11)  at actImplementation (node_modules/@testing-library/react/dist/act-compat.js:47:25)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:190:24)  at renderRoot (node_modules/@testing-library/react/dist/pure.js:292:10)  at Object. (src/components/__tests__/BlogCard.test.tsx:80:11)  PASS  src/components/__tests__/SocialIcons.test.tsx SocialIcons ✓ should render all social media links when provided (492 ms) ✓ should open links in new tab (289 ms) ✓ should not render links for missing social media URLs (100 ms) ✓ should render nothing when no social media URLs provided (3 ms) ✓ should have proper accessibility attributes (146 ms)
Generated on 7/25/2025, 5:06:46 PM